package com.lagou.firstStageThirdModel.Fourth;

import java.util.LinkedList;
import java.util.List;

/**
 * 操作类 用于操作列表
 */
public class Operation {
    private List<Student> list;

    public Operation() {
        this.list = new LinkedList<>();
    }

    /**
     * 增加
     * @param student
     * @return
     */
    public void add(Student student) {
        for (Student sd : list) {
            if (student.getNumber() == sd.getNumber()) {
                System.out.println("学号重复，无法新增");
                return;
            }
        }

        if (list.add(student)) {
            System.out.println("新增信息成功");
        } else {
            System.out.println("新增信息失败");
        }
    }

    /**
     * 根据学号删除
     * @param number
     * @return
     */
    public void remove(int number) {
        for (Student sd : list) {
            if (number == sd.getNumber()) {
                boolean b = list.remove(sd);
                if (b) {
                    System.out.println("删除成功");
                } else {
                    System.out.println("删除失败");
                }
                return;
            }
        }
        System.out.println("未搜索到对应的学生信息，无法操作删除");
    }

    /**
     * 根据学号修改
     * @param number 学号
     * @param student 学生
     * @return
     */
    public void update(int number, Student student) {
        for (Student sd : list) {
            if (number == sd.getNumber()) {
                int index = list.indexOf(sd);
                if (index >= 0) {
                    list.set(index, student);
                    System.out.println("修改成功");
                    return;
                }
            }
        }
        System.out.println("未搜索到对应的学生信息，无法操作修改");
    }

    /**
     * 根据学号查找
     * @param number 学号
     * @return Student
     */
    public void find(int number) {
        for (Student sd : list) {
            if (number == sd.getNumber()) {
                System.out.println("搜索到的学生信息：" + sd);
                return;
            }
        }
        System.out.println("未搜索到对应的学生信息");
    }

    /**
     * 遍历
     * @return
     */
    public void showAll() {
        if (0 == list.size()) {
            System.out.println("暂无学生信息");
        } else {
            for (Student sd : list) {
                System.out.println(sd);
            }
        }
    }
}
